/**************************************************
|	File:		SoundManager.h
|	Author:		Benjamin Budian
|	Course:		SGD
|	Purpose:	SoundManager holds on to and distributes appropriate sound identifiers
|				
**************************************************/

#pragma once

class CEntity;

enum SoundIDClassifier { BOW_SHOT, SWORD_SWING, SWORD_SHEATH, ENEMY_HIT, PLAYER_HIT, PLAYER_DEATH, ENEMY_DEATH, BACKGROUND_MUSIC, AMBIENT_EFFECT, VICTORY };

class SoundManager
{
public:
	static SoundManager* GetInstance();

	void Initialize();
	void Shutdown();

	int GetSoundID( SoundIDClassifier eSound );

private:
	SoundManager(void);
	~SoundManager(void);
	SoundManager(const SoundManager& cpy);
	SoundManager& operator=(const SoundManager& cpy);

	int m_nBowShotID;
	int m_nSwordSwingID;
	int m_nSwordSheathID;

	int m_nEnemyHitID;
	int m_nPlayerHitID;
	int m_nPlayerDeathID;
	int m_nEnemyDeathID;
	
	int m_nBackgroundMusicID;
	int m_nAmbientSoundID1;
	int m_nAmbientSoundID2;
	int m_nAmbientSoundID3;

	int m_nVictorySFXID;
};

